分享好友 技术首页 技术分类 切换频道

用8位单片机实现串口-以太网转换器

2020-07-19 04:52130
单片机或微控制器(MCU)(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与一些监测、伺服、指示设备配合实现一定的功能。以太网是当今zui受欢迎的局域网之一,现已成为社会重要的基础信息设施之一, 是信息流通的重要渠道,如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。

将嵌入式系统与Internet相连的主要困难在于:Internet上面的各种通信协议对于存储器、运算速度等的要求比较高,而嵌入式系统中除部分32位处理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet协议将占用大量系统资源,从而影响本来的功能或根本不可能实现。

本文根据所做项目需要,用8031单片机和RTL8019AS网卡实现了RS485串口设备数据文件通过以太网传输到远端计算机的功能。

1 串行通讯

串行通讯在通讯领域被广泛应用。标准的RS232接口已成为计算机、计算机外设、交换机和许多通讯设备的标准接口。在我国工业总线的应用中,RS-485、RS-422使用zui为普遍。

在串行接口连接中,按连接方式可分为面向连接和无连接。无连接原理比较简单,通讯双方无握手过程。一方如有数据需要发送,则立即通过串行接口发送出去,另一方被动接受。该方式能够达到较高的通讯速率,但不能保证数据传输的可靠性,只用于一些对数据可靠性要求不高的场合,如语音、图像等。而面向通讯过程则不同,在甲方有数据发送请求时,则向乙方发送“请求发送数据”命令。乙方收到后,如准备就绪,则回送确认信息。甲方得到乙方的确认后方可发送数据。在大多数情况下,乙方要对收到的数据进行校验,校验正确发送“通讯终止”命令,否则可发送“重发”命令。面向连接的串行通讯过程实践起来通常要复杂得多,通常用于数据文件的传输。

2 以太网的物理传输帧

标准IEEE802.3帧结构有七部分组成,如表1所示。其中除了数据域的长度不固定外,其他的长度都是固定不变的。在发送数据时,帧头、起始位和校验位都是网卡自动添加的;在接收数据时,帧头和起始位将被网卡自动跳过,即网卡一旦检测到有效帧头和帧起始位,就认为有效数据开始,并将有效数据存入接收缓冲环。

标准IEEE802

3 以太网卡

RTL8019AS网卡是8/16位ISA总线的网卡,遵循的标准与协议为IEEE802.3。按功能可将其划分为接收功能模块、CRC产生模块、发送功能模块、地址识别模块、FIFO控制模块、协议逻辑阵列模块以及DMA和缓冲控制模块等部分。对网卡进行编程就可以实现局域网内任意站点之间的通信而不需要网络操作系统的支持。

熟悉网卡接口电路是实现对网卡编程的首要条件。网卡接口电路可分为两部分,一是与计算机ISA总线相连,包括数据总线读写、地址总线驱动、中断控制信号的产生、存储器读写信号以及I/O端口读写信号的引入等;二是对网卡内部的操作,包括对缓冲RAM的读写、对RTL8019AS的控制、读站地址PROM以及读自举ROM等。ISA总线共有98个信号,但通过对网卡工作原理的分析,我们可以将接口信号线减至zui少。表2是驱动RTL8019AS网卡所需的zui少的信号线。

驱动RTL8019AS网卡所需的zui少的信号线

4 硬件框图

系统采用8031作为CPU主芯片,使用32K字节的外部存储器62256来存放以太网包(zui大可以有1500字节)和串行数据, 8K字节的2764存放程序,用75176与485总线通讯。系统的数据与地址总线分别与网卡的数据与地址总线相连。硬件框图如图1所示。

硬件框图

5 软件设计

对网卡的编程就是对网络接口控制器(NIC)RTL8019AS中各种寄存器进行编程控制,从而完成数据分组的正确发送和接收。所有程序采用Franclin C51语言编制,具有可读性强,移植性好,开发周期短的特点。即使在代码的使用效率上,也完全可以和汇编语言相比。

5.1 主程序

主程序可分为网络通讯和串行通讯两部分。网络通讯过程又可分为网卡初始化、发送控制和接收控制等三部分。主程序框图如图2所示。

 

主程序框图

5.2 网卡初始化过程

对网卡的初始化就是对相关寄存器进行初始化。这些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、
 
ISR、IMR、PAR0-PAR5、MAR0-MAR5、CURR、TCR和RCR等。初始化过程如下:

(1)CR=0x21:选择页0寄存器,将NIC处于离线状态;

(2)DCR=0x88:8位内存访问,正常工作方式;

(3)RBCR0=0,RBCR1=0:远程DMA操作时传递字节数清零;

(4)RCR=0xc0:接收到的帧存入缓冲环;

(5)TCR=0xe2:环路测试状态;

(6)PSTART=0x4c,PSTOP=0x80:构造缓冲环;

(7)ISR=0xff:中断寄存器清零;

(8)IMR=0x00:屏蔽所有的中断;

(9)CR=0x61:选择页1;

(10)设置网卡地址PAR0-PAR5;

(11)设置多址寄存器MAR0-MAR5;

(12)CURR=0x4d:初始化当前页寄存器;

(13)CR=0x22:选择页1,正常工作状态;

(14)TCR=0XE0:发送器正常工作状态;

5.3 发送控制过程

在网络中,帧传输的过程就是发送方将待发送的数据按帧格式要求封装成帧,然后通过网卡发送到网络的传输线上。发送程序框图如图3所示。

发送程序框图

5.4 接收控制过程

帧的接收过程分为两步:*步由本地DMA将帧存入接收缓冲环中;第二步由远程DMA将接收缓冲环中的帧读入内存。即将网络上的数据帧接收并缓存在网卡的接收缓冲环中,然后由主机程序将缓存在缓冲环中的帧读走并存入内存中。

帧的接收工作由网卡自动完成,只需对与相关的寄存器如PSTART、PSTOP、CURR和BNRY进行适当的初始化即可。

帧读入较帧接收要复杂一些。首先必须初始化相应的寄存器RSAR、RBCR,然后再启动远程DMA读操作和主机程序的读端口操作。

以下是接收数据帧的子程序,为了获得数据长度,我们先读入18个字节的数据,然后根据有效数据的长度将帧完整读入。为了启动远程DMA读操作,应该令CR=0AH,远程DMA将从接收缓冲环的DMA地址处读入1字节并送往I/O数据端口,由主机程序读入内存。这一过程将一直持续到RBCR寄存器为0。

 

程序


5.5 串口通讯子程序

为实现数据文件的串口传输编制了一个串口通讯协议,该协议由引导帧、长度帧、数据帧和确认帧等组成。其中引导帧是用于同步每一包数据的引导头,长度帧是这一包数据的总长度,数据帧是其中的数据信息,确认帧是接收方对发送方的回应。每帧数据由16个字节组成,每帧的第14个字节为标志位,第15字节为校验位。标志位中有2位帧标志位,3位序号位;校验采用和校验,只计算0-13字节,溢出值舍去。在发送方有数据发送时,先检测线路是否空闲,如线路空闲则向接收方发送“请求发送数据”命令帧。接收机收到后,如准备就绪,则回送“可以发送”的确认

 
命令。发送方得到确认后开始发送数据。接收方对收到的每一帧数据进行和校验,校验正确发送“和校验正确”命令,发送方发送下一帧;否则发送“重发”命令,发送方重发此帧。协议中还具有等待超时处理、帧不同步处理和线路冲突检测功能。

6 结束语

利用8位单片机8031驱动ISA总线网卡,实现串口设备通过以太网进行通讯,可以方便、可靠、低廉地将数据传输到远端设备。而且,通过串口设备与以太网的相连,可以很好的解决多种工业总线的系统集成问题,同时也大大丰富了工业总线的体系,促使其向更高层次发展。可以预计,小型串口设备与以太网相连将带来一场新的技术浪潮。

免责声明:矿库网文章内容来源于网络,为了传递信息,我们转载部分内容,尊重原作者的版权。所有转载文章仅用于学习和交流之目的,并非商业用途。如有侵权,请及时联系我们删除。感谢您的理解与支持。

举报
收藏 0
评论 0
覆盖2700家,中国环保公益组织数据库上线
由北京市企业家环保基金会(SEE 基金会)、万科公益基金会、明善道(北京)管理顾问有限公司三方发起共建的中国环保公益组织数据库正式上线。数据库收录了2022年“中国环保公益组织现状调研”覆盖的约2700家环保公益组织的相关信息,如组织信息(包括组织名称、组织类型、成立日期、工作领域首选项、工作领域次选议题、工作手法、联系方式等)、数据信息等。参与首年调研执行的34家枢纽组织将成为数据维护员,共同建设、管理、维护这一环保公益行业基础设施。

0评论2023-07-04512

5月5日LME市场:期铜上涨,美国强劲就业数据擦亮短期经济前景
外电5月5日消息,伦敦金属交易所(LME)期铜价格周五上涨,此前强劲的美国就业数据照亮近期经济前景,但涨幅仅抵消部分本周早些时候因中国需求不振和库存增加而遭受的损失。  伦敦时间5月5日17:00(京时间5月6日00:00),LME三个月期铜上涨88美元,或1.04%,收报每吨8,581.5美元,但本周仍下跌约0.2%。  就业数据帮助刺激了

0评论2023-05-06295

自然资源部地质矿产科学数据中心成立
自然资源部地质矿产科学数据中心近日在中国地质调查局发展研究中心(全国地质资料馆、自然资源部矿产勘查技术指导中心)正式成立。为进一步加强和规范自然资源科学数据管理,促进开放共享,自然资源部在自然资源领域推动建设一批科学数据中心,建立自然资源部科学数据管理运行机制。建设自然资源部地质矿产科学数据中心,对

0评论2023-04-283213

COMEX期铜下跌,因通胀担忧,中国制造业数据低于预期
纽约4月3日消息,周一芝加哥商品交易所(COMEX)的铜期货下跌。截至收盘,期铜下跌4.45美分到4.9美分不等,其中成交最活跃的2023年5月期铜报收4.0455美元/磅,比上一交易日下跌4.90美分或1.20%。5月期铜的交易区间为4.0345美元到4.0975美元。周一中国公布的3月份的财新标普制造业采购经理人指数(PMI)跌至50.0,低于2月份

0评论2023-04-04992

2023年1-2月中国不锈钢进出口数据简析
2023年1月,国内不锈钢进口量约15.04万吨,环比减少36.5%;同比减少60.8%。2月进口量约18.73万吨,环比增加24.51%;同比减少41.72%。

0评论2023-03-211563

矿山大数据标准化白皮书发布
3月9日,在2023全国大数据标准化工作会议暨全国信标委大数据标准工作组第九次全会上,全国信息技术标准化技术委员会大数据标准工作组发布了《矿山大数据标准化白皮书(2023年版)》。

0评论2023-03-141494

伦铜和其他基本金属下跌 因进口数据疲弱
SHMET 网讯:  外电3月7日消息,伦铜周二进一步下跌,因主要金属消费国中国进口数据疲软以及秘鲁主要矿山可能恢复供应。  伦敦金属交易所(LME)三个月期铜下跌0.76%,至每吨8,851.0美元。  盛宝银行大宗商品策略主管Ole Hansen表示:“铜价走低,因中国进口疲软,秘鲁紧张局势缓解,表明出口复苏。”  用于电力、建

0评论2023-03-08120

用电数据显示,秘鲁铜矿正全面恢复生产
外电3月3日消息,根据用电数据进行分析,秘鲁关键铜矿恢复生产,此前抗议和封锁打击产量,可能会提振这一全球第二大铜生产国的供应。

0评论2023-03-06239